package com.wgchao.amc.mapstruct.dto;

import com.fasterxml.jackson.annotation.JsonInclude;
import java.io.Serializable;

import com.wgchao.amc.common.validate.Save;
import com.wgchao.amc.common.validate.Update;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import javax.validation.constraints.NotNull;
import java.util.Date;
import java.util.List;

/**
 * @作者  wgchao
 * @时间 2019-10-31 
 * @用途  
 */

@AllArgsConstructor
@NoArgsConstructor
@Data
@JsonInclude(content = JsonInclude.Include.NON_NULL)
@ApiModel(value="SysAuthoRoleDTO",description="角色菜单权限信息")
public class SysAuthoRoleDTO  implements Serializable {

	private static final long serialVersionUID =  5768613523810696500L;

	/**
	 * 主键
	 */
	@ApiModelProperty(value="主键",name="id")
	private Long id;

	/**
	 * 部门ID
	 */
	@ApiModelProperty(value="部门ID",name="groupId")
	private Long groupId;

	/**
	 * 角色ID
	 */
	@ApiModelProperty(value="角色ID",name="roleId")
	private Long roleId;

	/**
	 * 菜单ID
	 */
	@NotNull(message = "菜单ID缺失", groups = {Save.class, Update.class})
	@ApiModelProperty(value="菜单ID",name="menuId")
	private Long menuId;

	/**
	 * 创建时间
	 */
	@ApiModelProperty(value="创建时间",name="createTime")
	private Date createTime;

	/**
	 * 项目标示
	 */
	@ApiModelProperty(value="项目标示",name="proMark")
	private String proMark;

	@ApiModelProperty(value="功能详情",name="funcInfos")
	private List<SysAuthoRoleFuncDTO> funcInfos;

}
